{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **提示**：\n",
    "> 1. 欢迎来到**Python 人工智能入门**毕业项目！引用段会添加这类提示，来帮助你理清整个项目的思路。在你提交项目之前，你可以浏览一下报告，将这一段删除，以保持报告的简洁性。首先，你需要双击该 Markdown 框(cell)，将标题更改为与数据集和调查相关的标题。\n",
    "> 2. 在这个项目模板中，会在具体内容后的小括号 *()* 中或其他地方添加一部分提示，请在最终项目提交前，删除括号及里面的提示，保持报告的整洁。\n",
    "> 3. 请先通读整个文档，理清思路后再着手解答\n",
    "> 4. Have fun!\n",
    "\n",
    "\n",
    "---\n",
    "# Python 人工智能入门 毕业项目\n",
    "# XXXXX（请在给定的题目中选择一个，用更具体的标题来代替这个标题！）\n",
    "## Joe(请写下你的名字)\n",
    "## 2049年10月1日(请写下你完成报告的日期)\n",
    "---\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 目录\n",
    "<ul>\n",
    "<li><a href=\"#definition\">定义</a></li>\n",
    "<li><a href=\"#analysis\">分析</a></li>\n",
    "<li><a href=\"#implementation\">实现</a></li>\n",
    "<li><a href=\"#result\">结果</a></li>\n",
    "<li><a href=\"#conclusion\">结论</a></li>   \n",
    "</ul>\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "<a id=\"definition\"></a>\n",
    "## Ⅰ.定义\n",
    "\n",
    "在第一节中，你需要对你选定的问题作出定义\n",
    "\n",
    "### 1.项目概况\n",
    "\n",
    "在这个部分，你需要用浅显简洁的语句描述这个项目的一个总体概况。以下几个问题可以帮助你理清思路：\n",
    "\n",
    "- _项目的背景信息是什么？_\n",
    "- _做这个项目的出发点？_\n",
    "- _数据集的大概情况是什么？_\n",
    "\n",
    "### 2.问题陈述\n",
    "\n",
    "在这个部分，你需要清楚地为你将要解决的问题下定义，这应该包括你解决问题将要使用的策略（任务的大纲）。你同时要详尽地讨论你期望的结果是怎样的。有几个问题是需要考虑的：\n",
    "- _你是否清楚地定义了这个问题。站在读者的角度，他们能否明白你将要解决的问题是什么。_\n",
    "- _你是否详尽地阐述了你将会如何解决这个问题？_\n",
    "- _你期望什么样的结果，读者能明白你期望的这个结果吗？_\n",
    "\n",
    "### 3.评价指标\n",
    "在这里，你需要说明你将要用于评价自己的模型和结果的**指标**和**计算方法**。它们需要契合你所选问题的特点及其所在的领域，同时，你要保证他们的合理性。需要考虑的问题：\n",
    "- _你是否清晰地定义了你所使用的指标和计算方法？_\n",
    "- _你是否论述了这些指标和计算方法的合理性？_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(在这一Markdown框内完整陈述你对**Ⅰ.定义**中问题的思考，注意，你应当将你的答案整理成为行文通顺、思路清晰的语句，而非僵硬的对每个问题回答的罗列)\n",
    "\n",
    "**(你的回答)**\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "<a id=\"analysis\"></a>\n",
    "## Ⅱ.分析\n",
    "\n",
    "在第二节，你将对数据进行分析与整理，来进一步认识数据。\n",
    "\n",
    "### 1.数据的探索\n",
    "在这一部分，你需要探索你将要使用的数据。数据可以是若干个数据集，或者输入数据/文件，甚至可以是一个设定环境。不过在本项目中，我们已经给出了数据集，因此，你需要详尽地描述数据的类型。如果可以的话，你需要展示数据的一些统计量和基本信息（例如输入的特征（features)，输入里与定义相关的特性）。你还要说明数据中的任何需要被关注的异常或有趣的性质（例如需要做变换的特征，离群值等等）。你需要考虑：\n",
    "- _如果你使用了数据集，你要详尽地讨论了你所使用数据集的某些特征，并且为阅读者呈现一个直观的样本_\n",
    "- _如果你使用了数据集，你要计算并描述了它们的统计量，并对其中与你问题相关的地方进行讨论_\n",
    "- _数据集或输入中是否存在异常、缺陷或其他特性？你为什么认为他们是异常？给出佐证你观点的理由(例如分类变量的处理，缺失数据，离群值等）_\n",
    "\n",
    "### 2.探索性可视化\n",
    "在这一部分，你需要对数据的特征或特性进行概括性或提取性的可视化。这个可视化的过程应该要适应你所使用的数据。就你为何使用这个形式的可视化，以及这个可视化过程为什么是有意义的，进行一定的讨论。你需要考虑的问题：\n",
    "- _你是否对数据中与问题有关的特性进行了可视化？_\n",
    "- _你对可视化结果进行详尽的分析和讨论了吗？_\n",
    "- _绘图的坐标轴，标题，基准面是不是清晰定义了？_\n",
    "\n",
    "### 3.算法和技术\n",
    "在这一部分，你需要讨论你解决问题时用到的算法和技术。你需要根据问题的特性和所属领域来论述使用这些方法的合理性。你需要考虑：\n",
    "- _你所使用的算法，包括用到的变量/参数都清晰地说明了吗？_\n",
    "- _你是否已经详尽地描述并讨论了使用这些技术的合理性？_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **提示**：*不应* 在每个 notebook 框 (cell) 中进行太多操作。可以自由创建框，来进行数据探索。在这个项目中，可以在初始 notebook 中进行大量探索性操作。不要求对其进行组织，但请务必仔细阅读备注，理解每个代码框的用途。完成分析之后，你可以创建 notebook 副本，在其中去除多余数据，组织好你的每一步分析，从而形成信息连贯、结构紧密的报告。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 请在这一代码框内编写在这部分你需要的程序\n",
    "# 包括但不限于\n",
    "# * 导入数据\n",
    "# * 对数据的整理、总结\n",
    "# * 绘制可以表达你想法的图像\n",
    "# 你可以自由的使用任意数量和任意格式的代码框，但请在最终提交的报告中注意报告的整洁与通顺\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(在这一Markdown框内完整陈述你对**Ⅱ.分析**中问题的思考，注意，你应当将你的答案整理成为行文通顺、思路清晰的语句，而非僵硬的对每个问题回答的罗列)\n",
    "\n",
    "**(你的回答)**\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "<a id=\"implementation\"></a>\n",
    "## Ⅲ. 实现\n",
    "在第三节中，你需要引入自己选定的模型，并使用数据集中的数据去训练兵优化它，使得最终的模型能够得到想要的结果\n",
    "\n",
    "### 1.数据预处理\n",
    "在这一部分， 你需要清晰记录你所有必要的数据预处理步骤。在前一个部分所描述的数据的异常或特性在这一部分需要被更正和处理。需要考虑的问题有：\n",
    "- _如果你选择的算法需要进行特征选取或特征变换，你对此进行记录和描述了吗？_\n",
    "- _**数据的探索**这一部分中提及的异常和特性是否被更正了，对此进行记录和描述了吗？_\n",
    "- _如果你认为不需要进行预处理，你解释个中原因了吗？_\n",
    "\n",
    "### 2.执行过程\n",
    "在这一部分， 你需要描述你所建立的模型在给定数据上执行过程。模型的执行过程，以及过程中遇到的困难的描述应该清晰明了地记录和描述。需要考虑的问题：\n",
    "- _你所用到的算法和技术执行的方式是否清晰记录了？_\n",
    "- _在运用上面所提及的技术及指标的执行过程中是否遇到了困难，是否需要作出改动来得到想要的结果？_\n",
    "\n",
    "\n",
    "### 3.完善\n",
    "在这一部分，你需要描述你对原有的算法和技术完善的过程。例如调整模型的参数以达到更好的结果的过程应该有所记录。你需要记录最初和最终的模型，以及过程中有代表性意义的结果。你需要考虑的问题：\n",
    "- _初始结果是否清晰记录了？_\n",
    "- _完善的过程是否清晰记录了，其中使用了什么技术？_\n",
    "- _完善过程中的结果以及最终结果是否清晰记录了？_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 请在这一代码框内编写在这一节你需要的程序\n",
    "# 包括但不限于\n",
    "# * 数据预处理的程序，对数据的清洗、处理、分割等\n",
    "# * 引入模型及模型的训练过程\n",
    "# * 模型的进一步优化\n",
    "# * 绘制可以表达你想法的图像\n",
    "# 你可以自由的使用任意数量和任意格式的代码框，但请在最终提交的报告中注意报告的整洁与通顺\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(在这一Markdown框内完整陈述你对**Ⅲ. 实现**中问题的思考，注意，你应当将你的答案整理成为行文通顺、思路清晰的语句，而非僵硬的对每个问题回答的罗列)\n",
    "\n",
    "**(你的回答)**\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "<a id=\"result\"></a>\n",
    "## IV. 结果\n",
    "经过前面的几步，你已经训练好了自己的模型并计算出了一些结果。这一节，你需要对这些进行讨论与分析\n",
    "\n",
    "### 模型的评价与验证\n",
    "在这一部分，你需要对你得出的最终模型的各种技术质量进行详尽的评价。最终模型是怎么得出来的，为什么它会被选为最佳需要清晰地描述。你也需要对模型和结果可靠性作出验证分析，譬如对输入数据或环境的一些操控是否会对结果产生影响（敏感性分析sensitivity analysis）。一些需要考虑的问题：\n",
    "- _最终的模型是否合理，跟期待的结果是否一致？最后的各种参数是否合理？_\n",
    "- _模型是否对于这个问题是否足够稳健可靠？训练数据或输入的一些微小的改变是否会极大影响结果？（鲁棒性）_\n",
    "- _这个模型得出的结果是否可信？_\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 请在这一代码框内编写在这一节你需要的程序\n",
    "# 包括但不限于\n",
    "# * 计算模型是否可靠\n",
    "# * 绘制可以表达你想法的图像\n",
    "# 你可以自由的使用任意数量和任意格式的代码框，但请在最终提交的报告中注意报告的整洁与通顺\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(在这一Markdown框内完整陈述你对**IV. 结果**中问题的思考，注意，你应当将你的答案整理成为行文通顺、思路清晰的语句，而非僵硬的对每个问题回答的罗列)\n",
    "\n",
    "**(你的回答)**\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "<a id=\"conclusion\"></a>\n",
    "## V. 项目结论\n",
    "这一节中，我们将对整个项目做出总结\n",
    "\n",
    "\n",
    "### 结果可视化\n",
    "在这一部分，你需要用可视化的方式展示项目中需要强调的重要技术特性。至于什么形式，你可以自由把握，但需要表达出一个关于这个项目重要的结论和特点，并对此作出讨论。一些需要考虑的：\n",
    "- _你是否对一个与问题，数据集，输入数据，或结果相关的，重要的技术特性进行了可视化？_\n",
    "- _可视化结果是否详尽的分析讨论了？_\n",
    "- _绘图的坐标轴，标题，基准面是不是清晰定义了？_\n",
    "\n",
    "\n",
    "### 对项目的思考\n",
    "在这一部分，你需要从头到尾总结一下整个问题的解决方案，讨论其中你认为有趣或困难的地方。从整体来反思一下整个项目，确保自己对整个流程是明确掌握的。需要考虑：\n",
    "- _你是否详尽总结了项目的整个流程？_\n",
    "- _项目里有哪些比较有意思的地方？_\n",
    "- _项目里有哪些比较困难的地方？_\n",
    "- _最终模型和结果是否符合你对这个问题的期望？它可以在通用的场景下解决这些类型的问题吗？_\n",
    "\n",
    "\n",
    "### 需要作出的改进\n",
    "在这一部分，你需要讨论你可以怎么样去完善你执行流程中的某一方面。例如考虑一下你的操作的方法是否可以进一步推广，泛化，有没有需要作出变更的地方。你并不需要确实作出这些改进，不过你应能够讨论这些改进可能对结果的影响，并与现有结果进行比较。一些需要考虑的问题：\n",
    "- _是否可以有算法和技术层面的进一步的完善？_\n",
    "- _是否有一些你了解到，但是你还没能够实践的算法和技术？_\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 请在这一代码框内编写在这一节你需要的程序\n",
    "\n",
    "# 你可以自由的使用任意数量和任意格式的代码框，但请在最终提交的报告中注意报告的整洁与通顺\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(在这一Markdown框内完整陈述你对**V. 结论**中问题的思考，注意，你应当将你的答案整理成为行文通顺、思路清晰的语句，而非僵硬的对每个问题回答的罗列)\n",
    "\n",
    "**(你的回答)**\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "----------\n",
    "** 在提交之前， 问一下自己... **\n",
    "\n",
    "- 你所写的项目报告结构对比于这个模板而言足够清晰了没有？\n",
    "- 每一个部分（尤其**分析**和**方法**）是否清晰，简洁，明了？有没有存在歧义的术语和用语需要进一步说明的？\n",
    "- 你的目标读者是不是能够明白你的分析，方法和结果？\n",
    "- 报告里面是否有语法错误或拼写错误？\n",
    "- 报告里提到的一些外部资料及来源是不是都正确引述或引用了？\n",
    "- 代码可读性是否良好？必要的注释是否加上了？\n",
    "- 代码是否可以顺利运行并重现跟报告相似的结果？"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [default]",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
